Última actualización: 15 mayo 2020
Las zonas de amortiguación son áreas de vegetación ribereña que se dispone en forma de franja a lo largo de la red hidrográfica y que por sus funciones naturales son usadas para reducir contaminación difusa desde zonas agrícolas.
Según el Plan de Acción Santa Lucía - Medidas de segunda generación, se establece la zona buffer de 40 metros a lo largo de los cauces principales y de 25 metros en los tributarios menores.
La distribución espacial de las zonas buffer se puede consultar a continuación.En dónde para una mejor visualización se muestra el buffer de 160 metros para los cauces principales y de 20 metros para los tributarios.
rm(list = ls())
library(mapview)
library(maptools)
utm = CRS("+proj=utm +zone=21 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
Buffer_principal = readShapePoly("C:/Users/Rafael Navas/Documents/R_projects/SWAT_calibration_ETmodis/02_codes_scenarios/shapefiles_filter/ZB_P160.shp",
force_ring = T, proj4string = utm)
Buffer_tributarios = readShapePoly("C:/Users/Rafael Navas/Documents/R_projects/SWAT_calibration_ETmodis/02_codes_scenarios/shapefiles_filter/ZB_S20.shp",
force_ring = T, proj4string = utm)
subs1 = readRDS("~/R_projects/SWAT_calibration_ETmodis/shapefiles_RDS/subs1.RDS")
mapview(subs1, alpha.regions=0, legend=F,lwd=1.5, zcol="Subbasin") +
mapview(Buffer_tributarios, color="cyan",col.regions="cyan", legend=T) +
mapview(Buffer_principal, color="blue",col.regions="blue", legend=T) SWAT modela las zonas buffer (Filter Strip) a través del VFSMOD (Muñoz-Carpena, Parsons, and Gilliam 1999), el cual es un modelo empírico que ha sido parametrizado con información de muchos experimentos de campo.
SWAT modela la zona buffer a nivel de HRU a través de 3 parámetros.
A efectos de simplificar el análisis solamente nos concentraremos en el parámetro FILTER_RATIO. Ya que es el parámetro que relaciona el area del HRU y el area del filtro. En otras palabras, este parámetro define el area del HRU que será utilizada para zona buffer.
Los parámetros FILTER_CON y FILTER_CH pueden afectar la efectividad de la zona buffer, son parámetros que dependen en gran medida del relieve y del drenaje. No serán abordados en este trabajo.
Se consideran 6 anchos de zona buffer tanto para los cauces principales como para los tributarios. Los anchos considerados son 5, 10, 20, 40, 80 y 160 metros.
Estos anchos se pueden aplicar por ejemplo:
Se desarrolló un código en R el cual permite calcular el parámetro FILTER_RATIO y el área de la zona buffer en función de los anchos definidos anteriormente. El código se muestra en el Anexo y requiere un pre-procesamiento en QGIS.
Los valores de FILTER_RATIO para los distintos escenarios se pueden consultar en la siguiente tabla:
filter_ratio <- readRDS("~/R_projects/SWAT_calibration_ETmodis/02_codes_scenarios/03_filter_ratio.RDS")
colnames(filter_ratio) = c("Sub-cuenca", "Buffer principal (m)", "Buffer Tributario (m)", "area zona buffer (km2)", "FILTER_RATIO")
filter_ratio$`Buffer principal (m)` = as.numeric(paste(filter_ratio$`Buffer principal (m)`))
filter_ratio$`Buffer Tributario (m)` = as.numeric(paste(filter_ratio$`Buffer Tributario (m)`))
filter_ratio$`area zona buffer (km2)` = round(filter_ratio$`area zona buffer (km2)`,2)
filter_ratio$FILTER_RATIO = round(filter_ratio$FILTER_RATIO,2)
datatable(filter_ratio, rownames = FALSE, filter="top", options = list(pageLength = 5, scrollX=T), caption = "Parametrización de FILTER_RATIO" )rm(list = ls())
library(maptools)
library(raster)
library(rgeos)
utm = CRS("+proj=utm +zone=21 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")
shp_dir = "C:/Users/Rafael Navas/Documents/R_projects/SWAT_calibration_ETmodis/SL_level5_mensual_backup/shapefiles/"
sub = readShapePoly(paste0(shp_dir,"subs1.shp"),
proj4string = CRS("+proj=utm +zone=21 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"))
MontNat = readShapePoly("C:/Users/Rafael Navas/Google Drive/SWAT-SubSantaLucia/2-Input data/2-Uso del suelo/LCCS_shapes/LCCS2015/LCCS2015_MultipartToSinglepa_clip_dissolve.shp",
proj4string = CRS("+proj=utm +zone=21 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"))
MontNat = MontNat[MontNat$LABE_15=="Monte Nativo",]
gIntersection(sub, MontNat, byid = F)
plot(MontNat,col=2,border=2)
plot(gIntersection(sub, MontNat, byid = FALSE), col=4, border=4, add=T)
FR = data.frame(subassin = c(), ZB_principal_km2 = c(), ZB_tributarios_km2 = c(),
area_ZB_km2 = c(), FILTER_RATIO=c())
for(sb in 12:41){
print(sb)
sub_sub = sub[sub$Subbasin==sb,]
if(sb!=12){
MontNat_sub = gIntersection(MontNat,sub_sub, byid = FALSE, unaryUnion_if_byid_false=F)
}else{
MontNat_sub = 0
}
for(Psize in c("05","10","20","40","80","160")){
for(Ssize in c("05","10","20","40","80","160")){
ZB_P = readShapePoly(paste0(shp_dir, "ZB_P",Psize,".shp"),
proj4string = utm)
ZB_S = readShapePoly(paste0(shp_dir, "ZB_S",Ssize,".shp"),
proj4string = utm)
ZB = gUnion(ZB_P, ZB_S,byid = F)
ZB_sub = gIntersection(sub_sub, ZB, byid = FALSE)
if(sb!=12){
MontNat_ZB = gIntersection(MontNat_sub, ZB_sub, byid = FALSE)
area_MontNat = ifelse(is.null(MontNat_ZB), 0, area(MontNat_ZB))
}else{
area_MontNat = 0
}
area_ZB = (area(ZB_sub) - area_MontNat)/1000000
area_sub = area(sub_sub)/1000000
FILTER_RATIO = area_sub/area_ZB
FR_in = data.frame(subassin = sb, ZB_principal_km2 = Psize, ZB_tributarios_km2 = Ssize,
area_ZB_km2 = area_ZB, FILTER_RATIO=FILTER_RATIO)
FR = rbind(FR,FR_in)
print(FR_in)
}
}
}
saveRDS(FR, "C:/Users/Rafael Navas/Documents/R_projects/SWAT_calibration_ETmodis/02_codes_scenarios/03_filter_ratio.RDS")Muñoz-Carpena, Rafael, John E. Parsons, and J.Wendell Gilliam. 1999. “Modeling Hydrology and Sediment Transport in Vegetative Filter Strips.” Journal of Hydrology 214 (1-4): 111–29. https://doi.org/10.1016/S0022-1694(98)00272-8.
A work by Rafael Navas